Skip to content

Update test_group_4 to include changing state after rollback #13

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

qirh
Copy link

@qirh qirh commented Nov 26, 2024

As mentioned by others in Issue #8, I believe there is a bug in the test file for Level 4.

Order of Operations

  1. ["FILE_UPLOAD_AT", "2021-07-01T12:00:00", "Initial.txt", "100kb"]
  2. ["FILE_UPLOAD_AT", "2021-07-01T12:05:00", "Update1.txt", "150kb", 3600]
  3. ["FILE_GET_AT", "2021-07-01T12:10:00", "Initial.txt"]
  4. ["FILE_COPY_AT", "2021-07-01T12:15:00", "Update1.txt", "Update1Copy.txt"]
  5. ["FILE_UPLOAD_AT", "2021-07-01T12:20:00", "Update2.txt", "200kb", 1800]
  6. ["ROLLBACK", "2021-07-01T12:10:00"]
  7. ["FILE_GET_AT", "2021-07-01T12:25:00", "Update1.txt"]
  8. ["FILE_GET_AT", "2021-07-01T12:25:00", "Initial.txt"]
  9. ["FILE_SEARCH_AT", "2021-07-01T12:25:00", "Up"]
  10. ["FILE_GET_AT", "2021-07-01T12:25:00", "Update2.txt"]

Issue
After step 6 (ROLLBACK), the file Update2.txt should not exist because it was uploaded at 2021-07-01T12:20:00, which is after the rollback timestamp 2021-07-01T12:10:00.

Since the system is rolled back to the state as of 2021-07-01T12:10:00, any files uploaded after this timestamp should no longer exist. However, the test case appears to assume Update2.txt is still accessible after the rollback, which contradicts the expected behavior.

As mentioned in this issue (PaulLockett#8). I think there is a bug in the test file for level 4. 

This is the order of operations:
["FILE_UPLOAD_AT", "2021-07-01T12:00:00", "Initial.txt", "100kb"], 
            ["FILE_UPLOAD_AT", "2021-07-01T12:05:00", "Update1.txt", "150kb", 3600], 
            ["FILE_GET_AT", "2021-07-01T12:10:00", "Initial.txt"], 
            ["FILE_COPY_AT", "2021-07-01T12:15:00", "Update1.txt", "Update1Copy.txt"], 
            ["FILE_UPLOAD_AT", "2021-07-01T12:20:00", "Update2.txt", "200kb", 1800], 
            ["ROLLBACK", "2021-07-01T12:10:00"], 
            ["FILE_GET_AT", "2021-07-01T12:25:00", "Update1.txt"], 
            ["FILE_GET_AT", "2021-07-01T12:25:00", "Initial.txt"], 
            ["FILE_SEARCH_AT", "2021-07-01T12:25:00", "Up"],
            ["FILE_GET_AT", "2021-07-01T12:25:00", "Update2.txt"]
@@ -51,7 +51,7 @@ def test_group_3(self):

def test_group_4(self):
output = simulate_coding_framework(self.test_data_4)
self.assertEqual(output, ["uploaded at Initial.txt", "uploaded at Update1.txt", "got at Initial.txt", "copied at Update1.txt to Update1Copy.txt", "uploaded at Update2.txt", "rollback to 2021-07-01T12:10:00", "got at Update1.txt", "got at Initial.txt", "found at [Update1.txt, Update1Copy.txt, Update2.txt]", "got at Update2.txt"])
self.assertEqual(output, ["uploaded at Initial.txt", "uploaded at Update1.txt", "got at Initial.txt", "copied at Update1.txt to Update1Copy.txt", "uploaded at Update2.txt", "rollback to 2021-07-01T12:10:00", "got at Update1.txt", "got at Initial.txt", "found at [Update1.txt, Update1Copy.txt]", "file not found"])

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still incorrect. Update1Copy.txt should not be in the result for the search operation either, because it was copied at 2021-07-01T12:15:00, and then deleted in the rollback to 2021-07-01T12:10:00.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants